ittyMIDI Player plays only type 0 files. Type 1 files are converted to type 0 in SongLoader. Type 2 files are not supported. (The vast majority of MIDI files are type 1 or type 0).
MIDI files are stored as records in Palm SMF databases. ittyMIDI Player only opens databases with names of 10 characters or less, created by SongLoader. The files are stored in the standard SMF format for Palm, provided they are under 60k.
Player version 2.0 now supports extended memory. This allows
SMF databases to be located on cards for extra storage space. Devices
with this feature include: Sony Clies (Memory Stick), Most newer
Palms (SD cards) and Handera (SD and CF). (Handspring memory modules are
also supported, but this section does not apply to them, as they operate
as traditional memory).
A few considerations need to be made when using extended memory:
Player can handle as much data as MIDI allows.
When stopped during play, Player individually turns off each note that was on.
When stop is pressed and no song is playing, Player sends an All Notes Off message on each channel.
Player does not support sequencer automation features at this time.
FF 7F This is the code for a sequencer specific
event.
xx This is the length of the remainder of the
message, in bytes. ( This may be more than
one byte. See the MIDI Spec.)
00 01 3E This is the manufacturer ID for MicroTools,
Inc.
xx xx xx The rest of the message is made up
of 3-byte values. The first is the
unique record ID of the first
chunk, in "Midi Song Files". Each
subsequent value is the unique
record ID AND record name of a
chunk in "Midi Song Data".
Type byte: 03. This is a chain message. It is the same as a break message in every aspect, except play continues rather than stops, once again regardless of the play mode. This is not currently supported but is reserved for future use.
If a time signature message is encountered in the MIDI file, the measure will immediately advance and the beat will be reset to 1.
We reset all controllers at the beginning of every song. This restores the controllers to a known value so that one song will not affect how the next song sounds.
The Volume Slider on the play screen proportionally adjusts the volume on each channel. It does not use the master volume controller. Many synthesizers do not implement master volume support.